The present invention relates to a data access method and a configuration management database system.
Configuration management in IT, as documented in an ITIL (IT Infrastructure Library), focuses on managing and maintaining information about the configuration of the IT infrastructure. Such information is stored in a Configuration Management Database (CMDB), which is a critical integration point around which IT processes integrate. The goal of the CMDB is to have a single logic repository which accounts for all the IT asset configuration within the organization and the services, and the CMDB provides accurate information on configurations and documentations to support all the other service management processes.
The existing CMDB have two data access modes: i.e., data consolidation mode and data federation mode, which are used for different types of data.
The data consolidation mode acquires data from a data source according to a predetermined updating period and stores it in the Configuration Management Database, and when receiving a data access request from a client, provides the stored data to the client without accessing the data source to acquire the data in real time. Therefore, the data consolidation mode is mainly for those data that do not change frequently, e.g., machine serial numbers or configuration information. However, the major drawback of the data consolidation mode is data latency. Between the updating periods of the consolidation process, the more frequently the data in the data source changes, the older the data in the CMDB becomes. Therefore, the data acquired by the user from the CMDB may be inconsistent with the current data in the data source.
On the other hand, the data federation mode provides a middleware for applications to access data from different data sources as if they were a single data source, regardless of the location, format, and access language of the data. Different from the data consolidation mode, the data federation mode does not physically store the data acquired from the data source into the CMDB, but accesses different data sources in real time in response to the data access request, and then provides the acquired data to the client. Therefore, the data federation mode is mostly used for real-time data, with advantages of rapid speed and low cost. However, the major drawback of the data federation mode is data availability, that is, if the data source is unavailable, e.g., the data source has faults or is powered off, or a connection between the CMDB and the data source is interrupted, the user cannot obtain the data.
FIG. 1 is a system block diagram showing a Configuration Management Database in the prior art. As shown in FIG. 1, the CMDB is connected to data sources A-Z and clients A-C via network or other connecting manner. For example, the CMDB receives a data access request from client A and determines that the data consolidation mode should be used, according to the type of data requested by the data access request. The CMDB provides to client A the data stored in the CMDB that was previously acquired by accessing data sources A and C through the data consolidation mode. However, depending on the updating period of the data consolidation mode, the data provided to the client A may be data that was last updated several days, several weeks, or even several months ago, and thus may be inconsistent with current data in data sources A and C. However, the user cannot judge whether the data is accurate, and may therefore make an inappropriate decision based on the acquired data.
In another example, the CMDB receives a data access request from client C and determines that the data federation mode should be used, according to the type of the data requested by the data access request. The CMDB accesses data sources B and Z in real time and provides the acquired data to the client. However, assume in this example that data cannot be acquired from data source B or Z possibly due to interruption of the connection. FIG. 2A and FIG. 2B show examples of data integration view that are presented to the user in this case, wherein FIG. 2A shows a list and FIG. 2B shows a histogram. The example in FIGS. 2A-2B shows an asset report of current asset values acquired from five different computers. FIG. 2A shows fully qualified names, IP addresses, machine types, current asset values of respective computers. In FIG. 2B, a horizontal coordinate represents current asset values, whereas a longitudinal coordinate represents fully qualified names of the computers. It can be seen from FIG. 2A and FIG. 2B that there are three computers that have a current value of “N/A” or “zero”, which means the data cannot be acquired from these computers in real time because these computers are faulty, are powered off, or the connection to the CMDB has been interrupted. Therefore, the user cannot obtain the desired data.